///*******************************************************************************
// * Copyright (c) 2008, 2009 IBM Corporation and others.
// * All rights reserved. This program and the accompanying materials
// * are made available under the terms of the Eclipse Public License v1.0
// * which accompanies this distribution, and is available at
// * http://www.eclipse.org/legal/epl-v10.html
// *
// * Contributors:
// * IBM Corporation - initial API and implementation
// ******************************************************************************/
//
//package org.eclipse.ui.tests.markers;
//
//import java.util.Arrays;
//import java.util.Comparator;
//
//import org.eclipse.ui.internal.views.markers.MarkerSortUtil;
//import org.eclipse.ui.internal.views.markers.MockMarkerEntry;
//import org.eclipse.ui.tests.harness.util.UITestCase;
//
///**
// * @since 3.5
// *
// */
//public class MarkerSortUtilTest extends UITestCase {
//
// private static final int ARRAYSIZE = 100000;
//
// public MarkerSortUtilTest() {
// super("MarkerSortUtilTest");
// }
//
// /*
// * (non-Javadoc)
// *
// * @see org.eclipse.ui.tests.harness.util.UITestCase#doSetUp()
// */
// protected void doSetUp() throws Exception {
// // TODO Auto-generated method stub
// super.doSetUp();
//
// }
//
// public void testPartialSort() {
// sortToLimit(ARRAYSIZE,ARRAYSIZE/2);
// }
//
// public void testCompleteSort() {
// sortToLimit(ARRAYSIZE,ARRAYSIZE);
// }
// /**
// *
// */
// private void sortToLimit(int arraySize,int limit) {
// MockMarkerEntry[] fArray1=generateArray(arraySize);
// MockMarkerEntry[] fArray2=(MockMarkerEntry[]) fArray1.clone();
// Comparator comparator=new Comparator() {
// public int compare(Object o1, Object o2) {
// return ((MockMarkerEntry)o1).name.compareTo(((MockMarkerEntry)o2).name);
// }
// };
// MarkerSortUtil.sortStartingKElement(fArray1, comparator, 0,fArray1.length-1, limit);
// Arrays.sort(fArray2,comparator);
//
// for (int i = 0; i < limit; i++) {
// if(!fArray1[i].equals(fArray2[i])){
// fail("Incorrect sorting by MarkerSortUtil.sortStartingKElement(...)");
// }
// }
// }
//
//
// /**
// * Generate a large sized array for sorting
// */
// static MockMarkerEntry[] generateArray(int arraySize) {
// MockMarkerEntry[] fArray = new MockMarkerEntry[arraySize];
// int count = arraySize - 1;
// outer: while (count >= 0) {
// for (int i = 0; i < 26; i++) {
// for (int j = 0; j < 26; j++) {
// for (int k = 0; k < 26; k++) {
// if (count < 0)
// break outer;
// if (k % 2 == 0)
// fArray[count] = new MockMarkerEntry(
// new String(
// new char[] { (char) (i + 'a'),
// (char) (j + 'A'),
// (char) (k + 'a') }));
// else if (k % 3 == 0)
// fArray[count] = new MockMarkerEntry(
// new String(
// new char[] { (char) (i + 'a'),
// (char) (j + 'a'),
// (char) (k + 'A') }));
// else
// fArray[count] = new MockMarkerEntry(
// new String(
// new char[] { (char) (i + 'A'),
// (char) (j + 'a'),
// (char) (k + 'a') }));
// --count;
// }
//
// }
// }
//
// }
// return fArray;
// }
//}